package com.bestcem.xm.member.dao.mapper;

import com.bestcem.xm.member.entity.mysql.DisplayRangeEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author dc.wang <dc.wang@idiaoyan.com>
 * @version V1.0
 * @date 2021/9/15 11:27
 */
@Mapper
public interface DisplayRangeMapper {
    /**
     * 根据 id 获取数据
     *
     * @param displayId
     * @return
     */
    DisplayRangeEntity findById(@Param("id") String displayId);

    /**
     * 根据 组织id 和 联系人类型获取数据
     *
     * @param orgId
     * @param memberType
     * @return
     */
    DisplayRangeEntity findOneByOrgIdAndMemberType(@Param("orgId") String orgId, @Param("memberType") Integer memberType);

    /**
     * 创建展示范围
     *
     * @param entity
     */
    void createDisplayRange(DisplayRangeEntity entity);

    /**
     * 批量创建展示范围
     *
     * @param displayRangeEntities 展示范围集合
     */
    void batchCreate(List<DisplayRangeEntity> displayRangeEntities);

    /**
     * 更新
     *
     * @param toEntity
     */
    void updateById(DisplayRangeEntity toEntity);

    /**
     * 更新展示范围
     * @param entity 展示范围信息
     * @author dc.wang <dc.wang@idiaoyan.com>
     * @date 2021/9/15
     */
    void updateByMemberType(DisplayRangeEntity entity);

    /**
     * 删除展示范围
     * @param id 展示范围id
     */
    void deleteById(String id);

    void batchSave(@Param("list") List<DisplayRangeEntity> entities);
}
